// 函数防抖 
// 一段时间内 函数只是触发一次
// 用户暴力点击， 搜索， 登录等等
export default function debounce(callback, delay = 400) {
  // 定时器
  let timer;
  // 返回函数
  // 发生闭包  
  return function (...args) { 
    // 立即清除定时器
    clearTimeout(timer)
    // 延迟调用回调函数
    timer = setTimeout(() => {
      callback(...args)
    }, delay)
  }
}
